package xyz.zdsoft.attendance_manage_module.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import xyz.zdsoft.attendance_manage_module.pojo.MyPage;

import javax.validation.constraints.Past;
import java.io.Serializable;
import java.util.Date;

/**
 * @author 王林
 * @version 1.0
 * @date 2021-07-25 周日
 * @time 22:13
 * @description
 */
@Data
@ApiModel(value = "学生的考勤记录")
public class AttendanceInfoBo extends MyPage implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "院系名称", required = false)
    private String collegesName;

    @ApiModelProperty(value = "专业名称", required = false)
    private String majorName;

    @ApiModelProperty(value = "年级", required = false)
    private String gradeName;

    @ApiModelProperty(value = "班级名称", required = false)
    private String className;

    @ApiModelProperty(value = "课程名称", required = false)
    private String courseName;

    @ApiModelProperty(value = "学号", required = false)
    private String userNo;

    @ApiModelProperty(value = "学生姓名", required = false)
    private String studentName;

    @ApiModelProperty(value = "出勤状态:1：正常，2：迟到，3：早退，4：缺勤，5：请假", required = false)
    private Integer attendanceType;

    @Past(message = "必须为一个过去的时间")
    @ApiModelProperty(value = "查询开始日期", required = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date startDate;

    @Past(message = "必须为一个过去的时间")
    @ApiModelProperty(value = "查询结束日期", required = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date endDate;
}
